查看原文
其他

好书推荐-C语言必读

守望先生 编程珠玑 2021-02-01

来源:公众号【编程珠玑】

作者:守望先生

网站:https://www.yanbinghu.com

前言

本期推荐C语言学习必读书籍-C语言三剑客。以下内容最好在读过《C primer plus》之类的基础书籍之后阅读。

《C陷阱与缺陷》--评分8.9

如书名一样,这本书从词法分析、语法语义、连接、库函数、预处理器、可移植性等方面介绍了C语言所谓的“缺陷”,但实际上无论是对于新手还是已经使用过很久C语言的开发者都值得一看,可以说是一本识坑指南

当然里面很多点实际上已经可以用很多现代工具来检测,比如lint工具,编译器的强制检查等等,但是即便如此,也需要在你了解这些之后,才能真正意识到它们的存在。

本书适合新人阅读,从中了解在平常写代码的适合应该注意哪些问题。

《C和指针》--评分9.0

毋庸置疑,指针是C语言中最重要的概念,也是对初学者来说最难理解的一部分,而这本书恰恰就像是专门为你解决这个难题的。当然了,不要被书名误导了,虽然说的是C和指针,但实际上覆盖了语句、操作符、表达式、数组、指针、函数、字符串、结构和联合等几乎所有重要的C编程话题,不过相对于其他书籍,它在指针方面的介绍更加透彻。

另外对一些常用的基本数据结构也有很好的介绍,比如队列,栈,链表等。同时还对一些常用的标准库函数进行了介绍。

本书适合进阶学习,更加细致地了解C语言的各个特性。

《C专家编程》--评分9.2

你知道K&R C和ANSI C有什么区别吗?如果你不知道的话,可以看看本书。

C里面有哪些奇怪的语言特性?它在其他语言看来,就是bug!

如果你觉得对数组和指针的理解还不够深刻,没关系,这本《C专家编程》又不厌其烦的来进行讲。除此之外,对于一些复杂的声明,本书也做了非常多的讲解,以后无论多复杂的声明你应该能分辨了。在此之前,你能看懂下面的声明吗?

void (*signal(int sig,void(*func)(int)))(int);

除此之外,如果你之前从来不知道什么是链接,只是用IDE点击运行程序,那么链接部分能帮助你初步理解链接器到底做了什么,而你也会慢慢明白其重要性,这是构建大型程序必备的基础知识。

程序运行起来后,其内存布局又是怎样的?什么是堆栈?如果这些你还不知道,那么你真该抽时间好好学习学习了。

最后一章又从C的角度带你进行了一次C++之旅,C++真的有那么神秘吗?

总结

以上三本书,就是今天的推荐,以上三本书的难易程度为《C陷阱和缺陷》<《C和指针》<《C专家编程》。即便如此,也建议你在具备一定基础之后再去阅读。如果你无法读懂,那么说明你还有很大的进步空间,我自己最开始的时候也是看不懂的。

最后,可以在公众号分别回复以下关键字获取书籍电子版,仅供学习交流

  • c专家编程

  • c陷阱和缺陷

  • c和指针

但是建议购买纸质书籍。

推荐阅读:

给程序员的几点小建议

C语言入坑指南-被遗忘的初始化

如何优雅地处理命令行参数?


关注公众号【编程珠玑】,获取更多Linux/C/C++/Python/Go/算法/工具等原创技术文章。后台免费获取经典电子书和视频资源

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存